package com.tanhua.dubbo.api.mongo;

import com.tanhua.model.mongo.Movement;
import com.tanhua.model.vo.PageResult;

import java.util.List;

public interface MovementApi {

    /**
     * 服务提供者发布动态
     * @param movement
     */
    void publish(Movement movement);

    /**
     * 分页查询动态发布表
     * @param page
     * @param pageSize
     * @param userId
     * @return
     */
    PageResult<Movement> findByUserId(Long page, Long pageSize, Long userId);

    /**
     * 根据用户id查询好友时间线数据
     * @param userId
     * @param page
     * @param pageSize
     * @return
     */
    PageResult<Movement> findFriendMovements(Long userId, Long page, Long pageSize);

    /**
     * 随机产生10个动态记录
     * @return
     */
    List<Movement> randomMovement();

    /**
     * 根据推荐系统写入redis的Pids查询动态数据
     * @param listPids
     * @return
     */
    List<Movement> findByPids(List<Long> listPids);

    /**
     * 根据动态id调用服务查询动态数据
     * @param movementId
     * @return
     */
    Movement findById1(String movementId);
}
